Electronic list user interface

ABSTRACT

Processing inputs to electronic list systems. Receiving, from a user device, a user input. Parsing the received user input for at least one of {product genus, product subgenus, product name, brand name, price information, retailer name, manufacturer name}. Querying a history of user activity using the parsed input. Receiving at least one product description responsive to the query. Presenting, via the user device, each received at least one product description to the user.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of priority under 35 U.S.C. § 120 asa continuation of U.S. patent application Ser. No. 16/129,338, filedSep. 12, 2018, which claims the benefit of priority under 35 U.S.C. §119 to U.S. Provisional Patent Application No. 62/609,997, filed Dec.22, 2017, each of which is incorporated by reference herein in itsentirety.

TECHNICAL FIELD

The technology disclosed herein is related to technologies to processinputs to electronic list systems. Particular examples relate to the useof user history to process list inputs.

SUMMARY

The technology described herein includes computer implemented methods,computer program products, and systems to process inputs to electroniclist systems. In some examples, the electronic list system receives,from a user device, a user input. The electronic list system parses thereceived user input for at least one of {product genus, productsubgenus, product name, brand name, price information, retailer name,and manufacturer name}. The electronic list system queries a history ofuser activity using the parsed input. The electronic list systemreceives at least one product description responsive to the query; andpresents, via the user device, each received at least one productdescription to the user.

In some examples, the history of user activity is one or more of ahistory of user purchases initiated through the electronic list system,a history of user purchases initiated through the shopping servicesother than the list system, and a history of user world wide webactivity, e-mail activity, and scanned receipts.

In some examples, in response to receiving user selection of a presenteditem, the electronic list orders the item for the user from a shoppingservice associated with the selected item. In some examples presentingincludes presenting, via the user device, a plurality of matching itemsin a hierarchy organized by product name, with lower hierarchy levelscomprising one or more of price information, retailer name, manufacturername, size, and quantity.

In some examples, presenting includes presenting, via the user device,each previously purchased item with an indication that the item waspreviously purchased.

These and other aspects, objects, features, and advantages of thetechnology described herein will become apparent to those havingordinary skill in the art upon consideration of the following detaileddescription of illustrated examples.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram depicting an operating environment to providea user interface for an electronic list, in accordance with certainexamples.

FIG. 2 is a block diagram illustrating methods to process inputs toelectronic list systems, in accordance with certain examples.

FIG. 3 is a block diagram illustrating methods to process inputs toelectronic list systems, in accordance with certain examples.

FIG. 4 is a diagram illustrating a user interface of the presenttechnology, in accordance with certain examples.

FIG. 5 is a diagram illustrating a user interface of the presenttechnology, in accordance with certain examples.

FIG. 6 is a diagram illustrating a user interface of the presenttechnology, in accordance with certain examples.

FIG. 7 is a block diagram illustrating methods to process inputs toelectronic list systems, in accordance with certain examples.

FIG. 8 is a block diagram depicting a computing machine and a module, inaccordance with certain examples.

DETAILED DESCRIPTION OF THE EXAMPLES

Smart electronic lists can leverage shopping data to help users shop alist. However, inputs to lists, such as voice and text inputs, sufferfrom several problems. For example, inputs can be one or more of:sporadic, generalized, and often poorly focused. As another example,inputs can mix product description, product price, product source, andproduct brand information—in no certain order.

The combination of sporadic, generalized, mixed, and oftenpoorly-focused inputs to such lists (including from multiple users of asingle list), the requirement for highly-specific product descriptionsrequired as inputs by shopping services, and the unavailability ofnon-electronic methods to reconcile the differences between such inputs,creates unaddressed problems unique to electronic commerce.

By using and relying on the methods and systems described herein, thetechnology disclosed herein can maintain, and in some examples shop, anaccessible list that is organized and includes recommendations and otherhelpful features. As such, the technology may be employed to addressproblems unique to electronic lists in electronic commerce, such as theconflict described above.

Turning now to the drawings, in which like numerals represent like (butnot necessarily identical) elements throughout the figures, examples ofthe present technology are described in detail.

Example System Architectures

FIG. 1 is a block diagram depicting an example operating environment 100in accordance with certain examples of the technology disclosed herein.While each server, system, and device shown in the operating environmentis represented by one instance of the server, system, or device,multiple instances of each can be used. Further, while certain aspectsof operation of the present technology are presented in examples relatedto FIG. 1 to facilitate enablement of the claimed invention, additionalfeatures of the present technology, also facilitating enablement of theclaimed invention, are disclosed elsewhere herein.

As depicted in FIG. 1, the example operating environment 100 includescomputing devices 110, 120, 130, 140, 150, and 160. Each of devices 110,120, 130, 140, 150, and 160 may be configured to communicate with oneanother via communications network 99. In some examples, a userassociated with a device must install an application and/or make afeature selection to obtain the benefits of the technology describedherein.

Network 99 includes one or more wired or wireless telecommunicationsmeans by which network devices may exchange data. For example, thenetwork 99 may include one or more of a local area network (LAN), a widearea network (WAN), an intranet, an Internet, a storage area network(SAN), a personal area network (PAN), a metropolitan area network (MAN),a wireless local area network (WLAN), a virtual private network (VPN), acellular or other mobile communication network, a BLUETOOTH® wirelesstechnology connection, a near field communication (NFC) connection, anycombination thereof, and any other appropriate architecture or system,that facilitates the RF communication of signals, data, and/or messages.Throughout the discussion of examples, it should be understood that theterms “data” and “information” are used interchangeably herein to referto text, images, audio, video, or any other form of information that canexist in a computer-based environment.

Each computing device 110, 120, 130, 140, 150, and 160 can include acommunication module capable of transmitting and receiving data over thenetwork 99. For example, each network device can include a server, adesktop computer, a laptop computer, a tablet computer, a televisionwith one or more processors embedded therein and/or coupled thereto, asmart phone, a handheld computer, a personal digital assistant (PDA), orany other wired or wireless processor-driven device.

In examples described herein, computing device 110 is a list server 110operative to practice examples of the technology disclosed herein. Insome examples, the list server 110 provides Create, Read, Update, andDelete (CRUD) functionality for lists, and products in a list, inconjunction with one or more mobile devices 120, computing devices 130such as laptop computers, desktop computers, tablet computers, smartwatches, and wearables, and home devices 140 such as Google Homeappliance.

The Create function can provide application programming interfaces(APIs) from the list server 110 and graphic user interfaces (GUIs) inconjunction with web browsers (122, 132, 142) or native applications(124, 134, 144) on various devices (120, 130, 140) to the user to searchacross the catalog(s) visible to the list server 110 (such as internalcatalogs and catalogs of shopping service 150), create lists, and shopthe created lists (including shopping via shopping service 150).

The Read function can provide APIs and GUIs in a similar fashion tosearch for and display created lists and listed products. The Update andDelete functions provide user interfaces for editing and saving createdlists and listed products. Other functionality of the technologyprovides APIs and GUIs for setting list administrative characteristics,and provides user interfaces for communicating and collaborating withother users.

Each of mobile device 120 and computing device 130 can receive text,touch, image, and voice inputs for CRUD, administrative, andcommunication functions through the corresponding browser or nativeapplication. Home device 140 primarily receives voice inputs andresponds with audio outputs, though some examples of home device caninteract with users via a GUI. In some examples, such inputs can beprocessed in conjunction with an assistant server 160 implementing avirtual personal assistant, such as Google Assistant, as part of theinterface to the list server 110.

The connections illustrated are examples, and other means ofestablishing a communications link between the computers and devices canbe used. Moreover, those having ordinary skill in the art having thebenefit of the present disclosure will appreciate that the computingdevices illustrated in FIG. 1 may have any of several other suitablecomputer system configurations. For example, computing device 130 may beembodied as wearable device and may not include all the componentsdescribed above.

In examples, the computing devices, and any other computing machinesassociated with the technology presented herein, may be any type ofcomputing machine such as, but not limited to, those discussed in moredetail with respect to FIG. 8. Furthermore, any modules associated withany of these computing machines, such as modules described herein or anyother modules (scripts, web content, software, firmware, or hardware)associated with the technology presented herein may be any of themodules discussed in more detail with respect to FIG. 8. The computingmachines discussed herein may communicate with one another as well asother computer machines or communication systems over one or morenetworks, such as network 99. The network 99 may include any type ofdata or communications network, including any of the network technologydiscussed with respect to FIG. 8.

Example Processes

The example methods illustrated in the figures are described hereinafterwith respect to the components of the example operating environment 100.The example methods also can be performed with other systems and inother environments. The operations described with respect to any of thefigures can be implemented as executable code stored on a computer ormachine readable non-transitory tangible storage medium (e.g., floppydisk, hard disk, ROM, EEPROM, nonvolatile RAM, CD-ROM, etc.) that arecompleted based on execution of the code by a processor circuitimplemented using one or more integrated circuits; the operationsdescribed herein also can be implemented as executable logic that isencoded in one or more non-transitory tangible media for execution(e.g., programmable logic arrays or devices, field programmable gatearrays, programmable array logic, application specific integratedcircuits, etc.).

Referring to FIG. 2, and continuing to refer to FIG. 1 for context,methods 200 to process inputs to electronic list systems are illustratedin accordance with certain examples. In such methods 200, the listserver 110 receives a user input via a user device such as mobile device120—Block 210. As a continuing example, consider a user providing thevoice input “toys for Tommy from Wee Bee Toys” to a home device 140running a native application 144 to listen for voice commands. Thenative application 144 transmits the received voice data to theassistant server 160 over network 99 for the assistant server 160 toperform speech-to-text-data conversion. The assistant server 160transmits a text file corresponding to voice input to the list server110 via an API (the receiving side of which, API 116, is shown in FIG.1). In other examples, speech-to-text-data conversion occurs in eitherthe user device, such as home device 140, mobile device 120, andcomputing device 130. In another example, the speech-to-text-dataconversion occurs in list server 110 itself.

The list server 110 parses the received user input for at least one of{product genus, product subgenus, product name, brand name, priceinformation, retailer name, manufacturer name}—Block 220. In thecontinuing example, list server 110 uses keyword lists to identify datatypes of single-word and multi-word elements of the text file.Specifically, “toys,” is a product genus—but also appears as part of thestring “wee_bee_toys,” a retailer name. In this case, the second use of“toys” is recognized as part of the string “wee_bee_toys.” In addition,in this case, the list server 110 recognizes “Tommy” as a name. Notethat “doll” is a product subgenus under “toys,” while a stock-keepingunit (SKU) descriptor of a specifically configured doll from a specificmanufacturer (and possible a specific retailer) is the most granularlevel. Techniques such as Natural Language Processing (NLP), machinelearning and other artificial intelligence approaches, andsemi-automated classification, can be used in addition to, or in placeof, keyword list comparisons.

Upon parsing a minimum set of product data for querying a shoppingservice, the list server 110 queries a history of user activity usingthe parsed input—Block 230. In the continuing example, the list server110 queried the product genus “toys,” retailer “Wee Bee Toys,” and name“Tommy” are queried to a structured database of user purchase historymaintained by the data list server 110 to identify a plurality ofproducts characterized by fields matching the parsed data. In thecontinuing example, shopping service 150 accepts a structured/taggedquery {<genus=“toys”> AND <retailer=“Wee Bee Toys”> AND <name=“Tommy”>}.In some examples, wildcards and unstructured queries are used.

The list server 110 receives from at least one queried user history, atleast one product description responsive to the query—Block 240. In thecontinuing example, history maintained for the user by shopping server110 returns 40 product descriptions across three sub-genera—“trucks,”“cars,” and “puzzles,” from which the user has previously purchased toysfrom Wee Bee Toys for Tommy.

While the continuing example illustrates the present technology using auser history maintained by the list server, the technology can use userhistories maintained by other servers (for example, shopping service150), and can use other sources of context such as user preferences,data from a user's email account, scanned receipts, popular items, salesitems, purchase habit of others such as friends and social mediapersonalities.

The list server 110 presents, via the user device, each received atleast one product description to the user—Block 250. Referring to FIG.3, and continuing to refer to prior figures for context, methods 300 forpresenting each received product description are shown, in accordancewith certain examples. In such examples, the list server 110 presents,via the user device 120, a plurality of matching items in a hierarchyorganized by product name, with lower hierarchy levels comprising one ormore of price information, retailer name, manufacturer name, size, andquantity—Block 352.

Referring to FIG. 4, and continuing to refer to prior figures forcontext, a user interface screen 400 for presenting each receivedproduct description to the user via the user device is shown, inaccordance with certain examples. In the continuing example, a userinterface screen 400 for user device 120 presented via nativeapplication 144 includes the initial input “toys” from “WeeBee Toys” forthe “Tommy” as list item 410 along with a hierarchical representation415 of the results returned by shopping service 150. The list item entryincludes the retailer “WeeBee Toys” and intended recipient “Tommy”parsed from the user input. The hierarchical representation 415 includesone second-level entry “Boys” 420, which is hyperlinked to separatenative application 144 user interface screens presenting those resultsunder each respective heading. User interface screen 400 shows the“Boys” 420 sub-list to include lower levels of the hierarchy for“trucks” 422, “cars” 424, and “puzzles” 426.

Referring to FIG. 5, and continuing to refer to prior figures forcontext, a user interface screen 500 for presenting each receivedproduct description to the user via the user device is shown, inaccordance with certain examples. In the continuing example, a userinterface screen 500 for user device 120 presented via nativeapplication 144 is presented in response to the user selecting the“Trucks” hyperlink 422. The user interface screen 500 includes productlist window 520. Product list window 520 displays product entries fortwo products (SuperTruck 524 and Dumpmaster 526) of entries returned inthe category “Boys:Trucks” 522 from shopping service 150 in response tothe query built from the user input for “toys from Wee Bee Toys forTommy.” The SuperTruck entry 524 includes an illustration 524 a, nameand price 524 b, and a “More info” button 522 c. The Dumpmaster entry526 includes similar components for illustration 526 a, name and price526 b, and “More info” button 526 c. The product list window alsoincludes a hyperlinked “Next Page” link for viewing the remainingproduct entries in in the category returned from shopping service 150 inresponse to the query. Selecting the “More info” button will cause thelist server 110 to display a product page for the corresponding productvia the user device 120. While the user can use the list for trackingin-person shopping at brick-and-mortar retail locations, the userinterface screen 500 also includes a “SHOP YOUR LIST” button 530 thatwill, in some examples, link to a product page of the user interface.While FIG. 5 shows one checkbox entry of the list, the list can, and inmost instances will, include multiple items. Depending on the displaycapabilities of the user device, more than one item per page can bedisplayed. With each type of user device, the technology can displaymultiple items across multiple pages.

Referring to FIG. 6, and continuing to refer to prior figures forcontext, a user interface screen 600 for presenting each receivedproduct description to the user via the user device is shown, inaccordance with certain examples. In the continuing example, a userinterface screen 600 for user device 120 presented via nativeapplication 144 includes product page 610. Product page 710 includesimage 524 a and product title 524 b similar to those shown in connectionwith FIG. 5, along with product description 640. In particular,interface screen 600 includes “ADD TO CART” button 650 that adds theitem to the user's cart for checkout. If the user is using the list toshop in person, then the list view of FIG. 4 and FIG. 5.

Referring to FIG. 7, and continuing to refer to prior figures forcontext, methods 700 to process inputs to electronic list systems areillustrated in accordance with certain examples. In such methods, thelist server 110, in response to receiving user selection of a presenteditem, orders the item for the user from a shopping service associatedwith the selected item. In the continuing example, selection of the “ADDTO CART” 750 button initiated the order process. In some examples,presenting includes presenting, via the user device, each previouslypurchased item with an indication that the item was previouslypurchased. In some examples, presenting includes presenting, via theuser device, each previously purchased item with an indication of one ormore of when it was purchased, from which retailer it was purchased, andnotes on the recipient's review of the item.

Other Examples

FIG. 8 depicts a computing machine 2000 and a module 2050 in accordancewith certain examples. The computing machine 2000 may correspond to anyof the various computers, servers, mobile devices, embedded systems, orcomputing systems presented herein. The module 2050 may comprise one ormore hardware or software elements configured to facilitate thecomputing machine 2000 in performing the various methods and processingfunctions presented herein. The computing machine 2000 may includevarious internal or attached components such as a processor 2010, systembus 2020, system memory 2030, storage media 2040, input/output interface2060, and a network interface 2070 for communicating with a network2080.

The computing machine 2000 may be implemented as a conventional computersystem, an embedded controller, a laptop, a server, a mobile device, asmartphone, a set-top box, a kiosk, a router or other network node, avehicular information system, one or more processors associated with atelevision, a customized machine, any other hardware platform, or anycombination or multiplicity thereof. The computing machine 2000 may be adistributed system configured to function using multiple computingmachines interconnected via a data network or bus system.

The processor 2010 may be configured to execute code or instructions toperform the operations and functionality described herein, managerequest flow and address mappings, and to perform calculations andgenerate commands. The processor 2010 may be configured to monitor andcontrol the operation of the components in the computing machine 2000.The processor 2010 may be a general purpose processor, a processor core,a multiprocessor, a reconfigurable processor, a microcontroller, adigital signal processor (“DSP”), an application specific integratedcircuit (“ASIC”), a graphics processing unit (“GPU”), a fieldprogrammable gate array (“FPGA”), a programmable logic device (“PLD”), acontroller, a state machine, gated logic, discrete hardware components,any other processing unit, or any combination or multiplicity thereof.The processor 2010 may be a single processing unit, multiple processingunits, a single processing core, multiple processing cores, specialpurpose processing cores, co-processors, or any combination thereof.According to certain examples, the processor 2010 along with othercomponents of the computing machine 2000 may be a virtualized computingmachine executing within one or more other computing machines.

The system memory 2030 may include non-volatile memories such asread-only memory (“ROM”), programmable read-only memory (“PROM”),erasable programmable read-only memory (“EPROM”), flash memory, or anyother device capable of storing program instructions or data with orwithout applied power. The system memory 2030 may also include volatilememories such as random access memory (“RAM”), static random accessmemory (“SRAM”), dynamic random access memory (“DRAM”), and synchronousdynamic random access memory (“SDRAM”). Other types of RAM also may beused to implement the system memory 2030. The system memory 2030 may beimplemented using a single memory module or multiple memory modules.While the system memory 2030 is depicted as being part of the computingmachine 2000, one skilled in the art will recognize that the systemmemory 2030 may be separate from the computing machine 2000 withoutdeparting from the scope of the subject technology. It should also beappreciated that the system memory 2030 may include, or operate inconjunction with, a non-volatile storage device such as the storagemedia 2040.

The storage media 2040 may include a hard disk, a floppy disk, a compactdisc read only memory (“CD-ROM”), a digital versatile disc (“DVD”), aBlu-ray disc, a magnetic tape, a flash memory, other non-volatile memorydevice, a solid state drive (“SSD”), any magnetic storage device, anyoptical storage device, any electrical storage device, any semiconductorstorage device, any physical-based storage device, any other datastorage device, or any combination or multiplicity thereof. The storagemedia 2040 may store one or more operating systems, application programsand program modules such as module 2050, data, or any other information.The storage media 2040 may be part of, or connected to, the computingmachine 2000. The storage media 2040 may also be part of one or moreother computing machines that are in communication with the computingmachine 2000 such as servers, database servers, cloud storage, networkattached storage, and so forth.

The module 2050 may comprise one or more hardware or software elementsconfigured to facilitate the computing machine 2000 with performing thevarious methods and processing functions presented herein. The module2050 may include one or more sequences of instructions stored assoftware or firmware in association with the system memory 2030, thestorage media 2040, or both. The storage media 2040 may thereforerepresent examples of machine or computer readable media on whichinstructions or code may be stored for execution by the processor 2010.Machine or computer readable media may generally refer to any medium ormedia used to provide instructions to the processor 2010. Such machineor computer readable media associated with the module 2050 may comprisea computer software product. It should be appreciated that a computersoftware product comprising the module 2050 may also be associated withone or more processes or methods for delivering the module 2050 to thecomputing machine 2000 via the network 2080, any signal-bearing medium,or any other communication or delivery technology. The module 2050 mayalso comprise hardware circuits or information for configuring hardwarecircuits such as microcode or configuration information for an FPGA orother PLD.

The input/output (“I/O”) interface 2060 may be configured to couple toone or more external devices, to receive data from the one or moreexternal devices, and to send data to the one or more external devices.Such external devices along with the various internal devices may alsobe known as peripheral devices. The I/O interface 2060 may include bothelectrical and physical connections for operably coupling the variousperipheral devices to the computing machine 2000 or the processor 2010.The I/O interface 2060 may be configured to communicate data, addresses,and control signals between the peripheral devices, the computingmachine 2000, or the processor 2010. The I/O interface 2060 may beconfigured to implement any standard interface, such as small computersystem interface (“SCSI”), serial-attached SCSI (“SAS”), fiber channel,peripheral component interconnect (“PCI”), PCI express (PCIe), serialbus, parallel bus, advanced technology attached (“ATA”), serial ATA(“SATA”), universal serial bus (“USB”), Thunderbolt, FireWire, variousvideo buses, and the like. The I/O interface 2060 may be configured toimplement only one interface or bus technology. Alternatively, the I/Ointerface 2060 may be configured to implement multiple interfaces or bustechnologies. The I/O interface 2060 may be configured as part of, allof, or to operate in conjunction with, the system bus 2020. The I/Ointerface 2060 may include one or more buffers for bufferingtransmissions between one or more external devices, internal devices,the computing machine 2000, or the processor 2010.

The I/O interface 2060 may couple the computing machine 2000 to variousinput devices including mice, touch-screens, scanners, electronicdigitizers, sensors, receivers, touchpads, trackballs, cameras,microphones, keyboards, any other pointing devices, or any combinationsthereof. The I/O interface 2060 may couple the computing machine 2000 tovarious output devices including video displays, speakers, printers,projectors, tactile feedback devices, automation control, roboticcomponents, actuators, motors, fans, solenoids, valves, pumps,transmitters, signal emitters, lights, and so forth.

The computing machine 2000 may operate in a networked environment usinglogical connections through the network interface 2070 to one or moreother systems or computing machines across the network 2080. The network2080 may include wide area networks (WAN), local area networks (LAN),intranets, the Internet, wireless access networks, wired networks,mobile networks, telephone networks, optical networks, or combinationsthereof. The network 2080 may be packet switched, circuit switched, ofany topology, and may use any communication protocol. Communicationlinks within the network 2080 may involve various digital or an analogcommunication media such as fiber optic cables, free-space optics,waveguides, electrical conductors, wireless links, antennas,radio-frequency communications, and so forth.

The processor 2010 may be connected to the other elements of thecomputing machine 2000 or the various peripherals discussed hereinthrough the system bus 2020. It should be appreciated that the systembus 2020 may be within the processor 2010, outside the processor 2010,or both. According to certain examples, any of the processor 2010, theother elements of the computing machine 2000, or the various peripheralsdiscussed herein may be integrated into a single device such as a systemon chip (“SOC”), system on package (“SOP”), or ASIC device.

The present technology may comprise a computer program that embodies thefunctions described and illustrated herein, wherein the computer programis implemented in a computer system that comprises instructions storedin a machine-readable medium and a processor that executes theinstructions. However, it should be apparent that there could be manydifferent ways of implementing the present technology in computerprogramming, and the examples should not be construed as limited to anyone set of computer program instructions. Further, a skilled programmerwould be able to write such a computer program to implement the presenttechnology as described herein based on the appended flow charts andassociated description in the application text. Therefore, disclosure ofa particular set of program code instructions is not considerednecessary for an adequate understanding of how to make and use thetechnology described herein. Further, those skilled in the art willappreciate that one or more aspects of the technology described hereinmay be performed by hardware, software, or a combination thereof, as maybe embodied in one or more computing systems. Moreover, any reference toan act being performed by a computer should not be construed as beingperformed by a single computer as more than one computer may perform theact.

The technology described herein can be used with computer hardware andsoftware that perform the methods and processing functions describedherein. The systems, methods, and procedures described herein can beembodied in a programmable computer, computer-executable software, ordigital circuitry. The software can be stored on computer-readablemedia. For example, computer-readable media can include a floppy disk,RAM, ROM, hard disk, removable media, flash memory, memory stick,optical media, magneto-optical media, CD-ROM, etc. Digital circuitry caninclude integrated circuits, gate arrays, building block logic, fieldprogrammable gate arrays (FPGA), etc.

The example systems, methods, and acts described in the examplespresented previously are illustrative, and, in alternative examples,certain acts can be performed in a different order, in parallel with oneanother, omitted entirely, and/or combined between different examples,and/or certain additional acts can be performed, without departing fromthe scope and spirit of various examples. Accordingly, such alternativeexamples are included in the scope of the following claims, which are tobe accorded the broadest interpretation to encompass such alternateexamples.

Although specific examples have been described above in detail, thedescription is merely for purposes of illustration. It should beappreciated, therefore, that many aspects described above are notintended as required or essential elements unless explicitly statedotherwise. Modifications of, and equivalent components or actscorresponding to, the disclosed aspects of the examples, in addition tothose described above, can be made by a person of ordinary skill in theart, having the benefit of the present disclosure, without departingfrom the spirit and scope of technology described herein defined in thefollowing claims, the scope of which is to be accorded the broadestinterpretation so as to encompass such modifications and equivalentstructures.

1.-20. (canceled)
 21. A system, comprising: a first system comprisingone or more processors coupled to memory to: receive, from a clientdevice, a voice input detected by a microphone of the client device;process the voice input to identify one or more types of data in thevoice input to use to form a set of product data; identify at least oneshopping service of one or more shopping services that is configured toaccept a query comprising the one or more types of data identified fromprocessing the voice input; generate one or more queries from the set ofproduct data formed based on the one or more types of data identifiedfrom processing the voice input; query, using the one or more queriesgenerated by the first system from the set of product data, each of: i)a database of the first system and ii) the at least one shopping servicedifferent from the first system; receive at least one productdescription responsive to the one or more queries to the first system,the at least one shopping service different from the first system; andtransmit, to the client device via a network, the at least one productdescription to cause the client device to present the at least oneproduct description via an output interface of the client device. 22.The system of claim 21, comprising: the first system to query, using theone or more queries generated by the first system from the set ofproduct data, an electronic messaging account associated with the clientdevice for historical activity.
 23. The system of claim 22, wherein thehistorical activity is associated with the client device correspondingto the set of product data identified from the voice input.
 24. Thesystem of claim 22, wherein the historical activity comprises a historyof purchases associated with the client device and initiated through thefirst system.
 25. The system of claim 22, wherein the historicalactivity is associated with the client device and comprises a history ofpurchases initiated through one or more shopping services other than thefirst system.
 26. The system of claim 22, wherein the historicalactivity comprises one or more of world wide web activity, e-mailactivity, or scanned receipts.
 27. The system of claim 21, wherein theone or more types of data comprise at least one of {product genus,product subgenus, product name, brand name, price information, retailername, manufacturer name}.
 28. The system of claim 21, furthercomprising: the first system to order, responsive to a selection of anitem corresponding to the at least one product description presented viathe output interface of the client device, the item from a shoppingservice associated with the item.
 29. The system of claim 21,comprising: the first system to transmit, to the client device, aplurality of matching items in a hierarchy organized by product name,with lower hierarchy levels comprising one or more of price information,retailer name, manufacturer name, size, and quantity.
 30. The system ofclaim 21, comprising: the first system to transmit, to the client devicefor presentation via the output interface of the client device, one ormore previously purchased items with an indication that the one or morepreviously purchased items was previously purchased.
 31. A method,comprising: receiving, by an electronic list system comprising one ormore processors coupled to memory, from a client device, a voice inputdetected by a microphone of the client device; processing, by theelectronic list system, the voice input to identify one or more types ofdata in the voice input to use to form a set of product data;identifying, by the electronic list system, at least one shoppingservice of one or more shopping services that is configured to accept aquery comprising the one or more types of data identified fromprocessing the voice input; generating, by the electronic list system,one or more queries from the set of product data formed based on the oneor more types of data identified from processing the voice input;querying, by the electronic list system, using the one or more queriesgenerated by the electronic list system from the set of product data,each of: i) a database of the electronic list system and ii) the atleast one shopping service different from the electronic list system;receiving, by the electronic list system, at least one productdescription responsive to the one or more queries to the electronic listsystem, the at least one shopping service different from the electroniclist system; and transmitting, by the electronic list system, to theclient device via a network, the at least one product description tocause the client device to present the at least one product descriptionvia an output interface of the client device.
 32. The method of claim31, comprising: querying, by the electronic list system, using the oneor more queries generated by the electronic list system from the set ofproduct data, an electronic messaging account associated with the clientdevice for historical activity.
 33. The method of claim 32, wherein thehistorical activity is associated with the client device correspondingto the set of product data identified from the voice input.
 34. Themethod of claim 32, wherein the historical activity comprises a historyof purchases associated with the client device and initiated through theelectronic list system.
 35. The method of claim 32, wherein thehistorical activity is associated with the client device and comprises ahistory of purchases initiated through one or more shopping servicesother than the electronic list system.
 36. The method of claim 32,wherein the historical activity comprises one or more of world wide webactivity, e-mail activity, or scanned receipts.
 37. The method of claim31, wherein the one or more types of data comprise at least one of{product genus, product subgenus, product name, brand name, priceinformation, retailer name, manufacturer name}.
 38. The method of claim31, further comprising: ordering, by the electronic list system,responsive to a selection of an item corresponding to the at least oneproduct description presented via the output interface of the clientdevice, the item from a shopping service associated with the item. 39.The method of claim 31, comprising: transmitting, by the electronic listsystem, to the client device, a plurality of matching items in ahierarchy organized by product name, with lower hierarchy levelscomprising one or more of price information, retailer name, manufacturername, size, and quantity.
 40. The method of claim 31, comprising:transmitting, by the electronic list system, to the client device forpresentation via the output interface of the client device, one or morepreviously purchased items with an indication that the one or morepreviously purchased items was previously purchased.